package cn.tedu.user.management.pojo.param;

import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Pattern;
import java.io.Serializable;

/**
 * 添加用户的DTO类
 *
 * @author java@tedu.cn
 * @version 0.0.1
 */
@Data
public class UserAddNewParam implements Serializable {

    /**
     * 用户名
     */
    @NotEmpty(message = "添加员工失败，请填写用户名！")
    @Pattern(regexp = "^[a-zA-Z][a-zA-Z0-9_-]{2,15}$", message = "添加用户失败，用户名必须是3~16个由字母、数字、下划线、减号组成的字符，且第1个字符必须是字母！")
    private String username;

    /**
     * 密码（原文）
     */
    @NotEmpty(message = "添加员工失败，请填写密码！")
    @Pattern(regexp = "^.{4,16}$", message = "添加用户失败，密码必须是4~16字符！")
    private String password;

    /**
     * 员工姓名
     */
    @NotEmpty(message = "添加员工失败，请填写姓名！")
    @Length(min=2,max=15,message="姓名长度在2-15之间")
    private String realName;

    /**
     * 性别
     */
    @Length(max=6,message="性别长度不能超过6个字符")
    private String gender;

    /**
     * 联系电话
     */
    @NotEmpty(message = "添加员工失败，请填写联系电话！")
    @Length(min=6,max=15,message="联系电话长度在6-15之间")
    private String phone;

    /**
     * 电子邮箱
     */
    @NotEmpty(message = "添加员工失败，请填写电子邮箱！")
    @Length(min=8,max=35,message="电子邮箱长度在8-35之间")
    private String email;

    /**
     * 部门id
     */
    @NotEmpty(message = "添加员工失败，请选择部门！")
    private Long[] sectionId;


    /**
     * 职位id
     */
    @NotEmpty(message = "添加员工失败，请选择职位！")
    private Long[] jobId;

    /**
     * 用户的角色ID的数组
     */
    /*@NotNull(message = "添加用户失败，请至少选择1种角色！")
    @Size(min = 1, message = "添加用户失败，请至少选择1种角色！")
    private Long[] roleIds;*/

}